//package ssl;
///*
// * Copyright (c) 2010-2020 Nathan Rajlich
// *
// *  Permission is hereby granted, free of charge, to any person
// *  obtaining a copy of this software and associated documentation
// *  files (the "Software"), to deal in the Software without
// *  restriction, including without limitation the rights to use,
// *  copy, modify, merge, publish, distribute, sublicense, and/or sell
// *  copies of the Software, and to permit persons to whom the
// *  Software is furnished to do so, subject to the following
// *  conditions:
// *
// *  The above copyright notice and this permission notice shall be
// *  included in all copies or substantial portions of the Software.
// *
// *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// *  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// *  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// *  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// *  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// *  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// *  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// *  OTHER DEALINGS IN THE SOFTWARE.
// */
//
//import java.io.File;
//import java.io.FileInputStream;
//import java.nio.file.Paths;
//import java.security.KeyStore;
//import javax.net.ssl.KeyManagerFactory;
//import javax.net.ssl.SSLContext;
//import javax.net.ssl.TrustManagerFactory;
//
//import chat.ChatServer;
//import org.java_websocket.server.DefaultSSLWebSocketServerFactory;
//
//public class SSLServerExample {
//
//    /*
//     * Keystore with certificate created like so (in JKS format):
//     *
//     *keytool -genkey -keyalg RSA -validity 3650 -keystore "keystore.jks" -storepass "storepassword" -keypass "keypassword" -alias "default" -dname "CN=127.0.0.1, OU=MyOrgUnit, O=MyOrg, L=MyCity, S=MyRegion, C=MyCountry"
//     */
//    public static void main(String[] args) throws Exception {
//        ChatServer chatserver = new ChatServer(
//                443); // Firefox does allow multible ssl connection only via port 443 //tested on FF16
//
//        // load up the key store
//        String STORETYPE = "JKS";
//        String KEYSTORE = Paths.get("src", "test", "java", "org", "java_websocket", "keystore.jks")
//                .toString();
//        String STOREPASSWORD = "storepassword";
//        String KEYPASSWORD = "keypassword";
//
//        KeyStore ks = KeyStore.getInstance(STORETYPE);
//        File kf = new File(KEYSTORE);
//        ks.load(new FileInputStream(kf), STOREPASSWORD.toCharArray());
//
//        KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
//        kmf.init(ks, KEYPASSWORD.toCharArray());
//        TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
//        tmf.init(ks);
//
//        SSLContext sslContext = null;
//        sslContext = SSLContext.getInstance("TLS");
//        sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
//
//        chatserver.setWebSocketFactory(new DefaultSSLWebSocketServerFactory(sslContext));
//
//        chatserver.start();
//
//    }
//}{"uuid": "alibaba_iot","product_key": "a1bAhApQDS0","device_name": "LEGatewayAuto_BJ4G29O23T","version":"2.0","IP":"","MAC":"","token":"", "service_meta": [{"service_type":"FTP","service_name":"ftp_localhost","service_ip":"127.0.0.1","service_port":21},{"service_type":"SFTP","service_name":"sftp_localhost","service_ip":"127.0.0.1","service_port":22},{"service_type":"SSH","service_name":"ssh_localhost","service_ip":"127.0.0.1","service_port":22},{"service_type":"TELNET","service_name":"telnet_local","service_ip":"127.0.0.1","service_port":23},{"service_type":"HTTP","service_name":"http_localhost","service_ip":"127.0.0.1","service_port":80},{"service_type":"RDP","service_name":"rdp_localhost","service_ip":"127.0.0.1","service_port":3389},{"service_type":"HTTP","service_name":"openapi","service_ip":"100.69.166.91","service_port":26999}],"signmethod": "hmacsha256", "sign": "e138cafcc9a6da89596a9669881a3526eeca920ec468954eeebb40f25ae0c0e3"}